import request from '@/utils/request.js'
import store from '@/store'
// 用户频道
export async function channels () {
  //   如果用户没登陆(没 token)
  if (!store.state.user.token) {
    //      读取本地 ocalstorage存储
    const _local = JSON.parse(localStorage.getItem('userChannels')) || []
    // 如果本地没存储
    if (_local.length === 0) {
      //  调用接口获取数据并存储
      const res = await request({
        url: '/v1_0/user/channels'
      })
      localStorage.setItem('userChannels', JSON.stringify(res.data.channels))
      return res.data.channels
      //  如果本地有存储
    } else {
      //  直接使用本地数据
      return _local
    }
    // 如果用户已登录
  } else {
    //     调用接口获取数据并存储
    const res = await request({
      url: '/v1_0/user/channels'
    })
    return res.data.channels
  }
}
// 文章详情
export function articles (params) {
  return request({
    url: '/v1_0/articles',
    params
  })
}
// 全部频道
export function channelsAll () {
  return request({
    url: '/v1_0/channels'
  })
}
// 全量修改
export async function userChannelsPut (channels) {
  if (store.state.user.token) {
    return request({
      url: '/v1_0/user/channels',
      method: 'put',
      data: {
        channels
      }
    })
  } else {
    localStorage.setItem('userChannels', JSON.stringify(channels))
  }
}
